﻿using MaterialDemo.Model.Goods_ConsumableDTO;
using System;
using System.Collections.Generic;
using System.Text;

namespace MaterialDemo.IService.IGoods_Consumable
{
   public interface IGoods_ConsumableService
    {
        /// <summary>
        /// 分页获取耗材信息
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="totalCount"></param>
        /// <param name="selectInfo"></param>
        /// <returns></returns>
        List<ConsumableOutput> LoadPageEntities(int pageIndex, int pageSize, out int totalCount, string selectInfo);

        /// <summary>
        /// 获取所有数据,用于Excel导出
        /// </summary>
        /// <returns></returns>
        List<ConsumableExcelOutput> LoadEntities();

        /// <summary>
        /// 根据id查询
        /// </summary>
        /// <returns></returns>
        List<ConsumableOutput> LoadEntities(int id);

        /// <summary>
        /// 检查耗材库存是否足够
        /// </summary>
        /// <param name="consumablesID"></param>
        /// <param name="num"></param>
        /// <returns></returns>
        bool CheckStore(string consumablesID, double num);
        /// <summary>
        /// 添加数据
        /// </summary>
        /// <param name="input"></param>
        /// <param name="reviewer"></param>
        /// <returns></returns>
        bool Add(ConsumableInput input, string reviewer);


        /// <summary>
        /// Excel批量导入
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        bool InputExcel(List<ConsumableInput> input,string reviewer);

        /// <summary>
        /// 更新数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        bool Upadate(ConsumableInput input);



        bool Detele( int id);

    }
}
